public class Main {

    public static void main(String[] args) {

        char a = 'a';
        char A = 'A';

        char num1 = '1';
        char num9 = '9';
        char num0 = '0';

        //System.out.println((char)(a++));
        System.out.println((int)a);
        System.out.println((int)A);
        System.out.println((int)num1);
        System.out.println((int)num9);
        System.out.println((int)num0);


    }

//    public static void main(String[] args) {
//
//        Tree tree = new Tree();
//        tree.creatTree();
//        tree.preOrder(tree.root);
//
//    }


    //    public List<Integer> findSubstring(String s, String[] words) {
//        // 记录单词个数
//        int num = words.length;
//        // 每个单词的长度
//        int len = words[0].length();
//        // 子串长度
//        int lens = len*num;
//        // hash
////        int[] hash = new int[num];
//        Map<String,Integer> hash = new HashMap<>();
//        // count
//        int count = 0;
//        // list
//        List<Integer> list = new ArrayList<>();
//
//        // 1,先判断s串是否够子串的长度
//        if (lens > s.length()) {
//             return null;
//        }
//        // 2,滑动窗口判断
//        for (int i = 0,j = 0; i < s.length(); i += len) { // 双指针
//            String split = s.substring(i,i + len); // 每次进入循环剥离 len 长度的字符串
//
//            // 判断 当前split字符串是否是 words 中的词
//            int k = 0;
//            for (k = 0; k < num; k++) {
//                if (split.equals(words[k])) { // 如果是 words 中的词 则让hash中 + 1 标记，并且 count + 1
//                    hash.put(words[k],1);
//                    count ++ ;
//                    break;
//                }
//            }
//            while (hash.get() > 1 && count != num || ) { //
//                j += len;
//                hash[k] -- ;
//                count -- ;
//            }
//
//            if (count == num) {
//                list.add(j);
//            }
//        }
//
//        return list;
//
//    }

//    public static void main(String[] args) {
//        String s = "abcab";
//        String split = s.substring(0,2);
//        System.out.println(split);
//        String s = "barfoothefoobarman";
//        String[] words = new String[]{"foo","bar"};
//        Main main1 = new Main();
//        List<Integer> list = main1.findSubstring(s,words);
//
//        for (int i = 0; i < list.size(); i++) {
//            System.out.println(list.get(i));
//        }
//    }


//    public List<Integer> findAnagrams(String s, String p)
//    {
//        List<Integer> ret = new ArrayList<Integer>();
//        char[] ss = s.toCharArray();
//        char[] pp = p.toCharArray();
//        int[] hash1 = new int[26]; // 统计字符串 p 中每⼀个字符出现的个数
//        for(char ch : pp) hash1[ch - 'a']++;
//        int[] hash2 = new int[26]; // 统计窗⼝中每⼀个字符出现的个数
//        int m = pp.length;
//        for(int left = 0, right = 0, count = 0; right < ss.length; right++)
//        {
//            char in = ss[right];
//            // 进窗⼝ + 维护 count
//            if(++hash2[in - 'a'] <= hash1[in - 'a']) count++;
//            if(right - left + 1 > m) // 判断
//            {
//                char out = ss[left++];
//                // 出窗⼝ + 维护 count
//                if(hash2[out - 'a']-- <= hash1[out - 'a']) count--;
//            }
//            // 更新结果
//            if(count == m) ret.add(left);
//        }
//        return ret;
//    }

//    public List<Integer> findAnagrams(String s, String p) {
//
//        // 两个hash表，一个记录p中字符出现的频率，一个记录双指针遍历s时字符出现的频率
//        // count 记录 p 中所有的 频率的次数
//        // 如果 s 中的字符在hashP中出现 则让 hashS 中也 ++
//        // 维护一个窗口大小为 p.length
//
//        List<Integer> list = new ArrayList<>();
//
//        char[] arrP = p.toCharArray();
//        char[] arrS = s.toCharArray();
//
//        int[] hashP = new int[26];
//        int[] hashS = new int[26];
//        int count = 0;
//        int sum = 0;
//
//        for (int i = 0; i < arrP.length; i++) {
//            hashP[arrP[i] - 'a'] ++ ;
//        }
//
//        for (int x:hashP) {
//            count += x;
//        }
//
//        for (int right = 0,left = 0; right < arrS.length; right++) {
//            if (hashP[arrS[right] - 'a'] >= ++hashS[arrS[right] - 'a']) {
//                sum ++ ;
//            }
//            if (right - left + 1 > arrP.length) {
//                if (hashS[arrS[left] - 'a'] >= hashS[arrS[left] - 'a'] --) {
//                    sum -- ;
//                }
//                left ++ ;
//            }
//            if (sum == count) {
//                list.add(left);
//            }
//        }
//        return list;
//    }

//    public List<Integer> findAnagrams(String s, String p) {
//
//        char[] arrP = p.toCharArray();
//        int numP = arrP.length;
//        int[] hashP = new int[26];
//        int count = 0;
//        int[] hashS = new int[26];
//        char[] arrS = s.toCharArray();
//        int numS = arrS.length;
//        int sum = 0;
//
//        List<Integer> list = new ArrayList<>();
//
//        // 先将p遍历一遍将值键入哈希表中
//        for (int i = 0; i < numP; i++) {
//            hashP[arrP[i] - 97] ++ ;
//        }
//
//        for (int x: hashP) {
//            count += x;
//        }
//
//
//        // 在遍历s滑动窗口判断 进出
//        for (int right = 0,left = 0; right < numS; right++) {
//
//            if (hashP[arrS[right] - 97] != 0) {
//                hashS[arrS[right] - 97] ++ ;
//                sum ++ ;
//            }
//
//            while (hashS[arrS[right] - 97] > hashP[arrS[right] - 97]) {
//                if (hashS[arrS[left] - 97] != 0) {
//                    hashS[arrS[left] - 97] -- ;
//                    sum -- ;
//                }
//                left ++ ;
//            }
//
//            if (count == sum) {
//                if (right - left + 1 == numP) {
//                    list.add(left);
//                }
//            }
//
//        }
//
//        return list;
//    }

//    public static void main(String[] args) {
//        int[] hashP = new int['z' + 1];
//        System.out.println(hashP.length);
//        System.out.println('a' + 1);
//
//        Main main1 = new Main();
//
//        List<Integer> list = main1.findAnagrams("abc","abcz");
//
//    }

//    public static BigInteger func(long n) {
//        long num = n;
//        BigInteger ans = new BigInteger("1");
//        while(num > 0) {
//            ans = ans.multiply(BigInteger.valueOf(num));
//            num -= 1;
//        }
//        return ans;
//    }
//    public static void main(String[] args) {
//        Scanner in = new Scanner(System.in);
//        long num = in.nextLong();
//        func(num);
//
//    }
//    public static double Time(int[] arr) {
//        double a = 0;
//        double b = 0;
//        for (int i = 0; i < arr.length - 1; i++) {
//            b = arr[i + 1] - arr[i];
//            a += b;
//        }
//        return a;
//    }
//    public static void main(String[] args) {
//        Scanner in = new Scanner(System.in);
//        double time = 0;
//        int n = in.nextInt();
//        int[] arr = new int[n];
//        int[] ai = new int[n-1];
//        int[] bi = new int[n-1];
//        for (int i = 0; i < n; i++) {
//            arr[i] = in.nextInt();
//        }
//        for (int i = 0; i < n-1; i++) {
//            ai[i] = in.nextInt();
//            bi[i] = in.nextInt();
//        }
//        time = arr[0] + Time(arr) + ai[0]/0.7 + bi[0]/1.3;
//        BigDecimal BD = new BigDecimal(time);
//        double time2 = BD.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
//        System.out.println(time2);
//    }
//    public static boolean func(int x) {
//        int num = x;
//        int sum = 0;
//        while(x % 10 != 0 || x / 10 != 0) {
//            sum += x%10;
//            x /= 10;
//        }
//        if(num % sum == 0) {
//            return true;
//        }else {
//            return false;
//        }
//    }
//    public static boolean funcString(String s,int x) {
//        char[] arr = s.toCharArray();
//        int sum = 0;
//        for (int i = 0; i < arr.length; i++) {
//            sum += (int)arr[i];
//        }
//        if(x % sum != 0) {
//            return true;
//        }else {
//            return false;
//        }
//    }
//    public static void main(String[] args) {
//        int count = 0;
//        for (int i = 1;count != 2023; i++) {
//            String str2 = Integer.toBinaryString(i);
//            String str8 = Integer.toOctalString(i);
//            String str16 = Integer.toHexString(i);
//            if(func(i) && funcString(str2,i) && funcString(str8,i) && funcString(str16,i)) {
//                count++;
//                //System.out.println(i);
//            }
//            if(count == 2023) {
//                System.out.println(i);
//            }
//        }
//    }
//    public static void main(String[] args) {
//        Scanner in = new Scanner(System.in);
//        int x1 = in.nextInt();
//        int y1 = in.nextInt();
//        int x2 = in.nextInt();
//        int y2 = in.nextInt();
//        int x3 = in.nextInt();
//        int y3 = in.nextInt();
//        int x4 = in.nextInt();
//        int y4 = in.nextInt();
//        int sum = (x2-x1)*(y2-y1)+(x4-x3)*(y4-y3);
//        if(x1 > x3 && y1 > y3 && x2 < x4 && y2 < y4) {
//            System.out.println((x4-x3)*(y4-y3));
//            return ;
//        }
//        if(x1 < x3 && y1 < y3 && x2 > x4 && y2 > y4) {
//            System.out.println((x2-x1)*(y2-y1));
//            return ;
//        }
//        if(x1 > x3 && y1 < y3 && x2 >x4 && y2 < y4) {
//            sum -= (((x4-x3)-(x1-x2))*(y2-y1));
//            System.out.println(sum);
//            return ;
//        }
//        if(x1 < x3 && y1 < y3 && x2 < x4 && y2 < y4) {
//            sum -= (((y4-y3)-(y4-y2))*(x2-x3));
//            System.out.println(sum);
//            return ;
//        }
//        if(x1 > x3 && y1 >y3 && x2 > x4 && y2 > y4) {
//            sum -= ((x4-x1)*((y4-y3)-(y2-y4)));
//            System.out.println(sum);
//            return ;
//        }
//        if(x1 < x3 && y1 > y3 && x2 < x4 && y2 > y4) {
//            sum -= ((y4-y1)*((x2-x1)-(x3-x1)));
//            System.out.println(sum);
//            return ;
//        }
//        else {
//            System.out.println(sum);
//            return ;
//        }
//
//    }
    //数组分割
//    public static void main(String[] args) {
//        Scanner in = new Scanner(System.in);
//        System.out.println("请输入组数");
//        int len = in.nextInt();
//        int[][] arr = new int[len][];
//        int row = 0;
//        int count = 0;
//        for (int i = 0; i < len; i++) {
//            System.out.println("输入第"+i+"组的元素个数");
//            row = in.nextInt();
//            int[] eg = new int[row];
//            for (int j = 0; j < row; j++) {
//                System.out.println("输入该组的第"+j+"个元素");
//                eg[j] = in.nextInt();
//            }
//            arr[i] = eg;
//        }
//
//        int[] arrSumCopy = new int[len];
//        for (int i = 0; i < len; i++) {
//            for (int j = 0; j < arr[i].length; j++) {
//                arrSumCopy[i] += arr[i][j];
//            }
//        }
//        for (int i = 0; i < len; i++) {
//            for (int j = 0; j < arr[i].length; j++) {
//                int sum = 0;
//                for (int k = j; k < arr[i].length; k++) {
//                    sum += arr[i][j];
//                    if(sum % 2 == 0 && (arrSumCopy[i] - sum) % 2 == 0) {
//                        count++;
//                    }
//                }
//            }
//            if(arrSumCopy[i] % 2 == 0) {
//                count++;
//            }
//        }
//        System.out.println(count);
//    }

//    public static void main(String[] args) {
//        int j = 0;
//        for (j = 1; j <= Integer.MAX_VALUE ; j++) {
//            //十进制
//            int sum = 0;
//            while(j % 10 != 0 && j/10 != 0) {
//                sum += j%10;
//
//            }
//        }
//
//    }

//    public static void main(String[] args) {
//       Scanner in = new Scanner(System.in);
//        BigInteger n = new BigInteger("202320232023");
//        int sum = 0;
//        for (int i = 0;i < n.intValue();i++) {
//            int ret = 1;
//            for (int j = 1; j <= i; j++) {
//                ret *= j;
//            }
//            sum += ret;
//        }
//        System.out.println(sum);
//    }
//    public static void main(String[] args) {
//        Scanner sc = new Scanner(System.in);
//        int[] scores = new int[8];
//        double total = 0,avg = 0;
//        for (int i = 0; i < 8; i++) {
//            scores[i] = sc.nextInt();
//            total += scores[i];
//        }
//        avg = total/8;
//        System.out.println(total);
//        System.out.println(avg);
//    }
//    public static void main(String[] args) {
//        System.out.println("我是JAVA高手");
//        int[] arrays = new int[10];
//        for (int i = 0; i < 10; i++) {
//            arrays[i] = i;
//            System.out.println(arrays[i]);
//        }
//    }
//    public static int func(int a,int b) {
//        return a+b;
//    }
//    public static int func(int a) {
//        return a;
//    }
//    public static char func(char c) {
//        return 'c';
//    }
//    public static void main(String[] args) {
//        System.out.println(func('a'));
//        System.out.println(func(1));
//    }
//    public static void main(String[] args) {
//        int[] nums = new int[]{0,1,3,0,2};
//        func(nums);
//        for (int i = 0; i < nums.length; i++) {
//            System.out.println(nums[i]);
//        }
//        for (int x: nums) {
//            System.out.println(nums[x]);
//        }
//        System.out.println(nums.length);
//    }
//    public static void func(int[] nums) {
        //方法一
//        int j = 0;
//        for (int i = 0; i < nums.length; i++) {
//            if(nums[i] != 0) {
//                nums[j] = nums[i];
//                j++;
//            }
//        }
//        for ( ; j < nums.length; j++) {
//            nums[j] = 0;
//        }
        //方法二
//        for (int bas = -1,cur = 0;cur < nums.length; cur++) {
//            if(nums[cur] != 0) {
//                bas++;
//                int tmp = nums[cur];
//                nums[cur] = nums[bas];
//                nums[bas] = tmp;
//            }
//        }

//    }
//    public static void main(String[] args) {
//        //int[] arr =new int[]{1,0,2,3,0,4,5,0};
//        //int[] arr =new int[]{0,0,2,3,4,0,5,0};
//        int[] arr = new int[]{0,1,7,6,0,2,0,7};
//
//        int count = 0;
//        int lengthindex = arr.length - 1;
//        int length = arr.length;
//        for (int i = 0; i < length; i++) {
//            if(arr[i] == 0) {
//                count++;
//                length--;
//            }
//
//        }
//
//        for (int cur = lengthindex - count; cur > 0; cur--) {
//            if(arr[cur] != 0) {
//                arr[lengthindex] = arr[cur];
//                lengthindex--;
//
//            }else {
//                arr[lengthindex] = 0;
//                arr[lengthindex - 1] = 0;
//                lengthindex -= 2;
//            }
//        }
//        for (int i = 0; i < arr.length; i++) {
//            System.out.print(arr[i]+" ");
//        }
//        boolean flag = false;
//        int length = arr.length;
//        int top = 0;
//        int arrIndex = -1;
//        while(top < length) {
//            arrIndex++;
//            if(arr[arrIndex] != 0) {
//                top++;
//            }else {
//                if((top + 2) > length) {
//                    top++;
//                    flag = true;
//                }else {
//                    top += 2;
//                }
//            }
//        }
//        if(flag) {
//            arr[top - 1] = arr[arrIndex];
//            arrIndex--;
//            top--;
//        }
//        while(arrIndex >= 0) {
//            if(arr[arrIndex] != 0) {
//                arr[top - 1] = arr[arrIndex];
//                arrIndex--;
//                top--;
//            }else {
//                arr[top - 1] = arr[arrIndex];
//                arr[top - 2] = arr[arrIndex];
//                arrIndex--;
//                top -= 2;
//            }
//        }
//        for (int i = 0; i < length; i++) {
//            System.out.print(arr[i] + " ");
//        }
//
//    }
//    public static void main(String[] args) {
//        int n = 7;
//        int slow  = n;
//        int fast = getNext(n);
//        while(fast != 1 && fast != slow) {
//            slow = getNext(slow);
//            fast = getNext(getNext(fast));
//        }
//        System.out.println(fast);
//    }
//    public static int getNext(int n) {
//        int sum = 0;
//        while(n > 0) {
//            int tmp = n % 10;
//            sum += tmp*tmp;
//            n /= 10;
//        }
//        return sum;
//        int sum = 0;
//
//        if(n != 1) {
//            if(n / 10 != 0) {
//                while(n / 10 != 0) {
//                    int tmp = n % 10;
//                    tmp *= tmp;
//                    sum += tmp;
//                    n /= 10;
//                }
//            }else {
//                return n;
//            }
//        }else {
//            return func(sum);
//        }
//    }

//    public void testMethod() {
//        System.out.println("test method");
//    }
//
//    public static void main(String[] args) {
//
//        Main newMain = new Main();
//
//        ((newMain)null).testmethod;
//    }
}
